맨위로가기

애플리케이션 성능 관리

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

애플리케이션 성능 관리(APM)는 애플리케이션의 성능을 측정하고 관리하는 것을 의미한다. APM은 최종 사용자가 경험하는 성능 지표와 애플리케이션이 사용하는 컴퓨팅 자원을 측정하여 성능 병목 현상을 파악하고, 웹 애플리케이션의 구성 요소별 응답 시간을 모니터링하는 데 사용된다. Gartner는 APM을 최종 사용자 경험 모니터링, 애플리케이션 런타임 아키텍처 검색 및 모델링, 사용자 정의 트랜잭션 프로파일링, 애플리케이션 구성 요소 모니터링, 보고 및 애플리케이션 데이터 분석의 5가지 차원으로 정의하며, 2016년에는 최종 사용자 경험 모니터링을 디지털 경험 모니터링으로, 애플리케이션 검색, 추적 및 진단을 새로운 차원으로 정의했다. APM은 다양한 기술 환경과 가상화 및 클라우드 환경에 대한 지원, 그리고 경쟁 심화와 시장 변화에 직면해 있다.

더 읽어볼만한 페이지

  • 시스템 관리 - 슈퍼유저
    슈퍼유저는 운영 체제에서 모든 권한을 가진 사용자를 지칭하며, 유닉스 계열에서는 root, 윈도우에서는 관리자 계정이 해당 역할을 수행한다.
  • 시스템 관리 - 유닉스 셸
    유닉스 셸은 사용자의 명령을 해석하여 운영 체제에 전달하고 프로그램 실행을 관리하는 명령 줄 인터페이스로서, 톰슨 셸을 시작으로 본 셸, C 셸 등 다양한 셸들이 개발되어 사용자에게 다양한 셸 환경 선택권을 제공한다.
애플리케이션 성능 관리
개요
유형성능 모니터링 및 관리
목적소프트웨어 애플리케이션의 성능 및 가용성 모니터링 및 관리
주요 기능
최종 사용자 경험 모니터링 (EUM)최종 사용자가 애플리케이션을 어떻게 경험하는지 추적
런타임 애플리케이션 아키텍처 검색애플리케이션의 구성 요소와 상호 작용 방식을 자동으로 식별
비즈니스 거래 프로파일링중요한 비즈니스 거래의 성능을 분석
구성 요소 심층 다이빙성능 문제의 근본 원인을 진단하기 위해 개별 구성 요소를 자세히 조사
IT 운영 분석 (ITOA)IT 운영 데이터를 분석하여 추세와 이상 징후를 식별
인공지능 운영 (AIOps)인공지능을 사용하여 IT 운영을 자동화하고 개선
애플리케이션 검색 종속성 매핑 (ADDM)애플리케이션 간의 종속성을 시각화
클라우드 APM클라우드 환경에서 실행되는 애플리케이션의 성능을 모니터링하고 관리
추가 정보
산업 분야소프트웨어 개발, IT 운영
관련 기술성능 테스트, 네트워크 모니터링, 시스템 모니터링

2. 애플리케이션 성능 측정

APM은 애플리케이션의 성능을 객관적으로 측정하고 분석하기 위해 다양한 지표를 활용한다. APM은 크게 두 가지 성능 지표를 면밀히 모니터링한다.

첫째는 최종 사용자(end-users)가 경험하는 성능으로, 부하응답 시간을 포함한다. 부하는 애플리케이션이 처리하는 트랜잭션 양(초당 트랜잭션/요청/페이지 수)을, 응답 시간은 사용자의 동작에 애플리케이션이 응답하는 데 필요한 시간을 의미한다.[2]

둘째는 부하를 지원하는 컴퓨팅 자원을 측정하여, 용량의 적절성과 성능 병목 현상 발생 가능 위치를 파악한다.[3] 이를 통해 애플리케이션의 성능 기준선을 설정하고, 변화를 감지하며, 미래 변화를 예측할 수 있다.[3]

APM은 웹 애플리케이션에 널리 사용되며, 구성 요소별 응답 시간을 모니터링하여 지연 원인을 파악하는 데 도움을 준다.[4] HTTP 어플라이언스를 통해 트랜잭션별 응답 시간을 디코딩할 수도 있다.

Gartner는 APM의 5가지 차원으로 최종 사용자 경험 모니터링, 애플리케이션 런타임 아키텍처 검색 및 모델링, 사용자 정의 트랜잭션 프로파일링, 애플리케이션 구성 요소 모니터링, 보고 및 애플리케이션 데이터 분석을 제시했다.[5][6][7][8] 2016년에는 이를 최종 사용자 경험 모니터링(EUEM), 애플리케이션 검색, 추적 및 진단(ADTD), 애플리케이션 분석(AA)의 세 가지 주요 기능으로 업데이트했다.[9]

2. 1. 최종 사용자 경험

최종 사용자가 경험하는 성능은 애플리케이션 성능 관리에서 중요하게 다루는 지표이다. 여기에는 부하와 응답 시간이 포함된다.[2]

  • '''부하'''는 애플리케이션이 처리하는 트랜잭션의 양을 의미한다. 초당 트랜잭션 수, 초당 요청 수, 초당 페이지 수 등으로 측정할 수 있다. 개발 중에는 부하가 적어 성능 문제를 발견하기 어려울 수 있지만, 실제 사용 환경에서는 부하가 증가함에 따라 성능 저하가 발생할 수 있다.
  • '''응답 시간'''은 애플리케이션이 사용자의 동작에 응답하는 데 걸리는 시간이다.[2] 예를 들어, 최대 부하에서의 평균 응답 시간을 측정하여 사용자 경험을 평가할 수 있다.


이러한 지표들을 통해 애플리케이션의 성능을 측정하고, 사용자 만족도를 파악할 수 있다.

2. 2. 컴퓨팅 자원

두 번째 성능 지표 세트는 부하에 사용되는 애플리케이션의 컴퓨팅 자원을 측정하여 부하를 지원할 수 있는 적절한 용량이 있는지, 성능 병목 현상이 발생할 수 있는 위치를 나타낸다.[3] 이러한 수량의 측정은 애플리케이션에 대한 경험적 성능 기준선을 설정한다. 그런 다음 이 기준선을 사용하여 성능 변화를 감지할 수 있다. 성능 변화는 외부 이벤트와 연관될 수 있으며, 그 후 애플리케이션 성능의 미래 변화를 예측하는 데 사용될 수 있다.[3]

3. APM 개념 프레임워크

가트너는 APM의 개념적 틀을 제공하기 위해 APM의 5가지 차원을 설명했다.[5][6][7][8] 가트너가 제시한 APM의 5가지 차원은 다음과 같다.


  • 최종 사용자 경험 모니터링 – (능동적 및 수동적)
  • 애플리케이션 런타임 아키텍처 검색 및 모델링
  • 사용자 정의 트랜잭션 프로파일링 (또는 비즈니스 트랜잭션 관리)
  • 애플리케이션 구성 요소 모니터링
  • 보고 및 애플리케이션 데이터 분석.


2016년에 가트너는 APM의 정의를 다음 3가지 주요 기능적 차원으로 업데이트했다.[9]

  • 최종 사용자 경험 모니터링(EUEM)은 디지털 경험 모니터링(DEM)으로 발전했다.
  • 새로운 차원인 애플리케이션 검색, 추적 및 진단(ADTD)은 애플리케이션 토폴로지(런타임 아키텍처) 검색 및 시각화, 사용자 정의 트랜잭션 프로파일링, 애플리케이션 구성 요소 심층 분석의 세 가지 이전 차원을 결합한다.
  • 애플리케이션 분석 (AA).


애플리케이션은 고도로 분산된 다중 계층, 다중 요소 구조로 이동함에 따라 관리하기가 점점 더 어려워지고 있다.[17] APM 개념 프레임워크는 5차원 APM 모델에 대한 전반적인 이해와 빠른 구현을 위해 무엇에 먼저 집중할 것인지에 대한 접근 방식을 우선시하도록 설계되었다.[18]

3. 1. 최종 사용자 경험 모니터링 (End User Experience Monitoring)

최종 사용자 경험 모니터링(End User Experience Monitoring)은 실제 사용자가 서비스를 이용하면서 경험하는 성능을 측정하는 방법이다. 여기에는 능동적 모니터링과 수동적 모니터링 두 가지 주요 방식이 사용된다.

  • '''능동적 모니터링(Synthetic Monitoring)''': 미리 정해진 가상의 사용자를 만들어 이들이 애플리케이션을 사용할 때의 성능을 측정한다. 이를 통해 서비스의 가용성과 주요 기능의 작동 여부를 주기적으로 확인할 수 있다.[19]
  • '''수동적 모니터링(Passive Monitoring)''': 실제 사용자들이 애플리케이션을 사용하는 동안 발생하는 모든 트랜잭션을 관찰하고 분석한다. 네트워크 포트 미러링과 같은 기술을 활용하여 데이터를 수집하며, 데이터베이스, 클라이언트/브라우저 등 다양한 구성 요소의 성능을 분석할 수 있다.[19]


능동적 모니터링과 수동적 모니터링을 함께 사용하면 서비스 이용량이 적은 시간대에도 애플리케이션의 상태를 지속적으로 파악하는 데 도움이 된다.[19]

사용자 경험 관리(User Experience Management, UEM)는 최종 사용자 경험 모니터링의 한 부분으로, 사용자가 애플리케이션 및 다른 서비스와 상호작용할 때 발생하는 지연 시간이나 오류 등을 파악하여 사용자 행동의 맥락을 분석한다.[20] UEM은 주로 에이전트 기반 기술을 사용하며, 자바스크립트 주입을 통해 최종 사용자 장치를 모니터링하기도 한다.[20]

3. 2. 런타임 애플리케이션 아키텍처 검색 및 모델링 (Runtime Application Architecture Discovery and Modeling)

애플리케이션 런타임 아키텍처 검색 및 모델링은 애플리케이션의 구성 요소와 그 관계를 자동으로 찾아내 시각화하는 것을 말한다. 이를 통해 복잡한 애플리케이션의 구조를 쉽게 파악할 수 있다.[5][6][7][8]

이러한 자동 검색 및 모델링을 위해 애플리케이션 검색 및 종속성 매핑(ADDM) 제품이 활용된다. ADDM은 트랜잭션과 애플리케이션을 기본 인프라 구성 요소에 매핑하는 과정을 자동화한다.[21]

런타임 애플리케이션 아키텍처를 구현하기 전에는 모든 노드와 서버에 대한 가동/중단 모니터링(하향식 모니터링)이 제대로 이루어져야 한다. 이는 이벤트 상관 관계의 기반을 마련하고, 네트워크 토폴로지가 애플리케이션 아키텍처와 어떻게 상호 작용하는지에 대한 이해를 돕는다.

3. 3. 사용자 정의 트랜잭션 프로파일링 (User-Defined Transaction Profiling)

사용자 정의 트랜잭션 프로파일링은 비즈니스 관점에서 중요한 트랜잭션을 정의하고 그 성능을 추적하는 것을 의미한다. 예를 들어, 어떤 애플리케이션에서 200~300개의 고유한 페이지가 정의되어 있다면, 이를 8~12개의 주요 범주로 묶을 수 있다. 이렇게 하면 SLA 보고서를 만들고, 비즈니스 관점에서 애플리케이션 성능 추세를 파악하는 데 도움이 된다. 일반적으로 처음에는 넓은 범주로 시작해서 시간이 지나면서 범위를 좁혀나간다. 더 자세한 정보는 비즈니스 트랜잭션 관리 문서를 참고하면 된다.

3. 4. 애플리케이션 구성 요소 모니터링 (Application Component Monitoring)

애플리케이션 성능 관리(APM)에서는 두 가지 주요 성능 지표를 면밀히 관찰한다. 첫 번째는 최종 사용자가 경험하는 성능으로, 최대 부하에서의 평균 응답 시간 등이 이에 해당한다. 여기에는 애플리케이션이 처리하는 트랜잭션 양을 나타내는 '''부하'''와 사용자의 동작에 응답하는 데 걸리는 '''응답 시간'''이 포함된다.[2] 부하는 초당 트랜잭션 수, 초당 요청 수, 초당 페이지 수 등으로 측정된다.

두 번째 성능 지표는 애플리케이션이 사용하는 컴퓨팅 자원의 양을 측정하여, 성능 병목 현상이 발생할 수 있는 부분을 파악하는 데 사용된다. 이러한 측정을 통해 애플리케이션의 성능 기준선을 설정하고, 변화를 감지하며, 미래의 성능 변화를 예측할 수 있다.[3]

APM은 웹 애플리케이션에서 널리 사용되며, 구성 요소별 응답 시간을 모니터링하여 지연의 원인을 파악하는 데 도움을 준다.[4] HTTP 어플라이언스를 사용하여 웹 서버 계층에서 트랜잭션별 응답 시간을 확인할 수도 있다.

가트너는 APM의 5가지 차원을 제시했는데,[5][6][7][8] 2016년에는 이를 3가지 주요 기능으로 업데이트했다.[9] 그중 하나는 애플리케이션 검색, 추적 및 진단(ADTD)으로, 애플리케이션 토폴로지(런타임 아키텍처) 검색 및 시각화, 사용자 정의 트랜잭션 프로파일링, 애플리케이션 구성 요소 심층 분석의 세 가지 차원을 결합한 것이다.

애플리케이션 구성 요소 모니터링(DDCM)은 에이전트 설치가 필요하며, 주로 미들웨어를 대상으로 한다. 웹, 애플리케이션, 메시징 서버에 중점을 두며, J2EE 및 .NET 스택의 실시간 보기를 제공하고 이를 사용자 정의 비즈니스 트랜잭션에 연결한다. 코드 실행에서 렌더링된 URL, 최종 사용자 요청까지의 경로를 명확하게 보여주는 모니터링 도구도 있다. DDCM은 APM 모델의 두 번째 차원과 관련이 깊어, 이 분야의 많은 제품이 애플리케이션 검색 종속성 매핑(ADDM)을 함께 제공한다.

3. 5. 보고 및 애플리케이션 데이터 분석 (Reporting and Application Data Analytics)

애플리케이션 성능 관리(APM)는 수집된 성능 데이터를 분석하고 시각화하여 의미 있는 정보를 도출하는 단계를 포함한다. 이를 통해 애플리케이션 성능 현황을 파악하고 개선 방안을 모색하기 위한 다양한 보고서를 생성한다.[5][6][7][8]

APM은 웹 애플리케이션에 널리 사용되며, 사용자 응답 시간뿐만 아니라 웹 애플리케이션 구성 요소에 대한 응답 시간을 모니터링하여 지연 원인을 파악하는 데 도움을 준다.[4] 또한, HTTP 어플라이언스를 통해 애플리케이션의 웹 서버 계층에서 트랜잭션별 응답 시간을 디코딩할 수 있다.

각 애플리케이션에 대해 수집하고 보고할 공통 지표 세트를 정하고, 애플리케이션 성능 데이터를 제시하는 방법에 대한 공통 보기를 표준화하는 것이 중요하다. APM 모델 전체의 다른 도구 세트에서 원시 데이터를 수집하면 애플리케이션 보고의 유연성이 제공된다.[22] 이를 통해 각 애플리케이션이 실행될 수 있는 다양한 플랫폼에도 불구하고 발생하는 광범위한 성능 관련 질문에 답할 수 있다. 너무 많은 정보는 압도적일 수 있으므로 보고서는 간단하게 유지하는 것이 중요하다.[22]

4. 현재의 문제점

APM은 IT 산업 발전과 함께 여러 문제점에 직면하고 있다. 기업에서 사용되는 기술이 다양하고, 가상화 및 클라우드 컴퓨팅 환경이 확산되면서 기존 APM 방식으로는 한계에 직면했다. 또한, APM 시장 경쟁이 심화되고 다양한 벤더들이 등장하면서 APM의 개념이 모호해지고 선택이 어려워지는 문제도 발생하고 있다.

4. 1. 다양한 기술 환경

기업에서 사용하는 기술이 다양해짐에 따라 APM 솔루션도 다양한 환경을 지원해야 한다. 특히, J2EE/.NET, 가상화 시스템 등 최신 기술에 대한 지원이 중요하다.[10] 한국에서는 JAVA/.NET 환경에서 WAS 단일 노드 모니터링이 주로 사용되었으나, End-to-End 모니터링에 대한 요구가 증가하고 있다.

국내 업체의 경우 틈새 시장 공략을 통해 글로벌 업체의 개념을 빠르게 습득하여 제품화하고 있다. 2013년 상반기 이후 APM은 수많은 벤더와 관점들이 기술 및 전략 측면에서 치열하게 경쟁하는 시대에 접어들었다.[10] 이로 인해 네트워크 모니터링,[11] 시스템 관리, 애플리케이션 계측, 웹 성능 모니터링을 포함하여 관련 없는 배경의 벤더들이 APM 관련 메시지를 채택하면서 시장에 큰 변동이 일어났다. 그 결과, APM이라는 용어는 희석되었고 단일 시장이 아닌 다양한 컴퓨팅 플랫폼 전반의 애플리케이션 성능을 관리하는 개념으로 진화했다.[12]

4. 2. 가상화 및 클라우드 환경

APM 구현에는 두 가지 과제가 있다. 첫째, 애플리케이션 구성 요소 간의 성능을 모니터링하기 위해 애플리케이션을 계측하는 것이 어려울 수 있다. 둘째, 애플리케이션이 플랫폼 가상화될 수 있어 측정값의 변동성이 증가한다.[14][15]

애플리케이션 서비스 관리(ASM)는 첫 번째 문제를 완화하기 위해 비즈니스 서비스 성능 가시성을 주요 목표로 하는 애플리케이션 중심 접근 방식을 제공한다. 분산, 가상 및 클라우드 컴퓨팅 기반 애플리케이션에서는 대부분의 주요 시스템 구성 요소가 더 이상 단일 머신에 호스팅되지 않기 때문에 애플리케이션 성능 모니터링에 고유한 과제가 제기된다. 각 기능은 이제 여러 가상 시스템에서 실행되는 인터넷 서비스로 설계되었을 가능성이 높다. 애플리케이션 자체는 서비스 수준 목표를 충족하고 일시적인 중단을 처리하기 위해 한 시스템에서 다른 시스템으로 이동할 가능성이 매우 높다.[16]

4. 3. 경쟁 심화 및 시장 변화

2013년 상반기 이후 APM은 기술 및 전략 측면에서 치열한 경쟁 시대에 접어들었다.[10] 네트워크 모니터링,[11] 시스템 관리, 애플리케이션 계측, 웹 성능 모니터링 등 관련 없는 배경의 벤더들이 APM 관련 메시지를 채택하면서 시장에 큰 변동이 일어났다. 그 결과, APM이라는 용어는 희석되었고 단일 시장이 아닌 다양한 컴퓨팅 플랫폼 전반의 애플리케이션 성능을 관리하는 개념으로 진화했다.[12] 벤더가 많아짐에 따라 하나를 선택하는 것은 어려울 수 있으며, 각 벤더의 역량이 필요에 부합하는지 신중하게 평가하는 것이 중요하다.[13]

참조

[1] 웹사이트 The Anatomy of APM – 4 Foundational Elements to a Successful Strategy http://apmdigest.com[...] APM Digest 2012-04-04
[2] 웹사이트 Performance management from the client's point of view http://www.networkwo[...] NetworkWorld 2013-03-22
[3] 웹사이트 APM and MoM - Symbiotic Solution Sets http://www.apmdigest[...] APM Digest 2012-05-11
[4] 웹사이트 What You Should Know About APM – Part 1 http://nexus.realtim[...] Realtime NEXUS
[5] 웹사이트 Keep the Five Functional Dimensions of APM Distinct http://www.gartner.c[...] Gartner Research (ID Number=G00206101) 2010-09-16
[6] 웹사이트 Analytics vs. APM http://www.apmdigest[...] APM Digest 2013-01-28
[7] 웹사이트 A Comparison of Application Performance Management Suites from CA, HP and Oracle http://www.oracle.co[...] Crimson consulting group 2013-03-22
[8] 웹사이트 Magic Quadrant for Application Performance Monitoring https://www.gartner.[...] Gartner 2013-12-18
[9] 웹사이트 Magic Quadrant for Application Performance Monitoring Suites, 2016 https://www.gartner.[...] Gartner Research (ID Number=G00298377) 2016-12-21
[10] 웹사이트 APM Convergence: Monitoring vs. Management http://apmdigest.com[...] APM Digest 2013-03-06
[11] 뉴스 What Is Network Monitoring? https://ascendantusa[...] 2022-01-09
[12] 웹사이트 Application Performance Management Spectrum http://trac-research[...] TRAC Research 2013-03-11
[13] 뉴스 5 Capabilities to Consider When Selecting an Application Performance Monitoring Solution http://www.apmdigest[...] 2017-09-26
[14] 서적 2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006
[15] 웹사이트 Is Virtualization Stalled On Performance? http://virtualizatio[...] Virtualization Review 2013-03-22
[16] 웹사이트 Differences between approaches to APM - a chat with Jesse Rothstein of Extrahop http://www.zdnet.com[...] ZDNet 2011-12-09
[17] 웹사이트 The Five Essential Elements of Application Performance Monitoring http://www.realtimep[...] Realtime NEXUS
[18] 웹사이트 Priorizing Gartner's APM Model: The APM Conceptual Framework http://www.apmdigest[...] APM Digest 2012-03-15
[19] 웹사이트 Application performance monitoring tools: Three vendor strategies http://searchnetwork[...] SearchNetworking 2013-03-25
[20] 웹사이트 Insight from the User Experience Management Panel in Boston http://apmdigest.com[...] APM Digest 2012-03-23
[21] 웹사이트 Research and Markets: Radar for Application Discovery and Dependency Mapping (ADDM) http://www.businessw[...] Business Wire 2011-05-19
[22] 웹사이트 Big Data and Advanced Analytics: Success Stories From the Front Lines https://www.forbes.c[...] 2012-12-03



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com